using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("NestedPrefab")]
	public class NestedPrefab : MonoBehaviour
	{
		public struct EditorMesh
		{
			public Mesh mesh;

			public List<Material> materials;
		}

		public string m_Prefab => method_4("m_Prefab");

		public List<EditorMesh> m_EditorMeshes => method_3<Class270<EditorMesh>>("m_EditorMeshes")?.method_25();

		public string m_lastPrefab => method_4("m_lastPrefab");

		public GameObject m_PrefabGameObject => method_3<GameObject>("m_PrefabGameObject");

		public NestedPrefab(IntPtr address, string className)
			: base(address, className)
		{
		}

		public NestedPrefab(IntPtr address)
			: this(address, "NestedPrefab")
		{
		}

		public GameObject PrefabGameObject(bool instantiateIfNeeded)
		{
			return method_14<GameObject>("PrefabGameObject", new object[1] { instantiateIfNeeded });
		}

		public void OnEnable()
		{
			method_8("OnEnable");
		}

		public void UpdateMesh()
		{
			method_8("UpdateMesh");
		}

		public void LoadPrefab()
		{
			method_8("LoadPrefab");
		}
	}
}
